<?php
include("../config.inc.php");
include("../util.php");	
include("../clases.php");

session_start();

if(!$_SESSION["obj_sesion"]->compruebaAcceso("ADME")){		echo "<script language='javascript'>location.href='salir.php'</script>";
		die(); }
		

switch($_REQUEST["action"]){


/*#######################################################################################################################################################*/
/*##################################################################  FORMULARIO  #######################################################################*/
/*#######################################################################################################################################################*/

	case 'form':{
		/*$numero_productos_insercion_array=array();
		$numero_productos_insercion_array["producto"]=array();
		$numero_productos_insercion_array["unidades"]=array();
	    if(isset($_REQUEST["producto_0"])){
			$i=0;
			while($_REQUEST["producto_".$i]){
				$numero_productos_insercion_array["producto"][$i]=$_REQUEST["producto_".$i];			
				$numero_productos_insercion_array["unidades"][$i]=$_REQUEST["unidades_".$i];
				$i++;
			}
		}
		else{
			$numero_productos_insercion_array["producto"][0]="";			
			$numero_productos_insercion_array["unidades"][0]="";
		}*/			
		
		
		/*$numero_productos_insercion es una variable que se irá incrementando a medida que se vayan incluyendo los productos de un     	albaran existente*/
		/**/
		/*$numeroLineasInsercion= '<script language="javascript">
		var n=numeroLineasInsercion();
		document.write(n);
		</script>';*/
		$numeroLineasInsercion=1;
		$vector=array();
		//$_action = "insertar";
		if(isset($_REQUEST["n_expedicion"])){
			//$_action = "modificar";
			/*$vector contiene los datos del albarán cuyo id hemos recuperado*/
			$vector = consultaSimple("albaran_recogida ar join distribuidor d on ar.id_distribuidor=d.id_distribuidor","n_expedicion=".$_REQUEST["n_expedicion"]);
			pasar_utf8_array($vector);
	/*		//$productos_modificacion es una matriz con los datos de los productos de dicho albarán(líneas de albarán)
			$productos_modificacion=consultaMultiple("lineas_albaran_recogida","id_expedicion=".$_REQUEST["id_expedicion"]);
			pasar_utf8_array($productos_modificacion);*/
			/*$producto es una matriz que almacena los datos de todos los productos de la base de datos*/
		$productos_BD = consultaMultiple('productos');
			pasar_utf8_array($productos_BD);
		}
		/*$producto es una matriz que almacena los datos de todos los productos de la base de datos*/
		$producto = consultaMultiple('productos','fecha_baja IS NULL');
		pasar_utf8_array($producto);
		/*$distribuidor es una matriz que almacena los datos de todos los distribuidores de la base de datos*/
		$distribuidor = consultaMultiple('distribuidores','fecha_baja IS NULL');
		pasar_utf8_array($distribuidor);
		
/*		echo '<link type="text/css" href="jquery-ui-1.8.18.custom/css/custom-theme/jquery-ui-1.8.19.custom.css" rel="Stylesheet" />   
				<script type="text/javascript" src="js/jquery/jquery-1.4.2.min.js"></script>
   				<script type="text/javascript" src="jquery-ui-1.8.18.custom/js/jquery-ui-1.8.18.custom.min.js"></script>';
				/*<script language="javascript" src="jquery-ui-1.8.18.customjs/jquery-1.7.1.min.js"></script>';*/
	
		//Se introducen los valores del autocomplete*/
	/*	echo '<script type="text/javascript">  
		$(function() {  
			var productos = [';
			for($i=0;$i<count($producto);$i++){
				if($i==0){
					echo '"'.$producto[$i]["nombre"].'"';
				}
				else{
					echo  ', "'.$producto[$i]["nombre"].'"';
				}
			}
			echo '];';*/
			//for($i=0;$i<count($numero_productos_insercion_array["producto"]);$i++){				 		  
			/*	echo '$("#producto_'.$numeroLineasInsercion.'").autocomplete({  
				  source: productos  
				});';*/
			//}
			
		/*	echo ' 
			  			$("#campo_fecha").datepicker({
							
							showOn: "button",
      						buttonImage: "js/jquery/datepicker/images/calendar.png",
      						buttonImageOnly: true,
      						changeYear: true,
      						numberOfMonths: 1,
							monthNames: ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],
							monthNamesShort: ["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],
							dayNamesMin: ["Do","Lu","Ma","Mi","Ju","Vi","S&aacute;"],
							firstDay: 1,
							dateFormat: "dd/mm/yy",														
						});				
      					
		});  
		</script>';*/
		
		echo '<div>
				<fieldset style="width:762px;">
				<legend class="txt_normal">Datos Albar&aacute;n Recogida</legend>
				<form id="formularioRecogida" name="formularioRecogida">
				<input type="hidden" name="id_expedicion" id="id_expedicion" value="'.$vector["id_expedicion"].'">
				<table width="792px" border="0" cellspacing="0" cellpadding="15" style="width: 760px;">
				  <tr>
					<td><table width="705px" height="107" border="0" cellpadding="0" cellspacing="0">
						<tr>
						  <td colspan="3" class="filanormal"><span class="titulo_portada"> Albar&aacute;n de Recogida </span></td>
						</tr>    
							<tr>
						  <td colspan="3">&nbsp; </td>
						</tr>
						<tr>
						  <td width="221" class="titulo_inicio">N&#176; de Expedici&oacute;n</td>
						  <td width="204">&nbsp;</td>
						  <td width="501">&nbsp;</td>
						</tr>
						<tr>
						  <td><label for="expedicion"></label>
						  <input name="expedicion" type="text" class="cabecera_agenda_finde" id="expedicion" value="'.$vector["n_expedicion"].'"/></td>
						  <td>&nbsp;</td>
						  <td rowspan="3" style="float: right;"><label for="cliente"></label>
						  <select name="distribuidor" class="titulo_inicio" id="distribuidor">
						  <option value="0">Seleccione un distribuidor de la lista</option>';
						  /*Se llena el combobox con los distribuidores*/
							for($z=0; $z<count($distribuidor);$z++){
								if($distribuidor[$z]["id_distribuidor"]==$vector["id_distribuidor"]){
									echo '<option selected="selected" value="'.$distribuidor[$z]["id_distribuidor"].'">'.$distribuidor[$z]["nombre"].'</option>';
								}
								else{
									echo '<option value="'.$distribuidor[$z]["id_distribuidor"].'">'.$distribuidor[$z]["nombre"].'</option>';
								}
							}
						  echo '</select>
							<div id="datos_cliente"></div></td>
						</tr>
						<tr>
						  <td class="titulo_inicio">Fecha:</td>
						  <td>&nbsp;</td>
						</tr>
						<tr>
						  <td><div id="contenido_fecha" style="width: 210px;"><input name="campo_fecha" type="text" class="cabecera_agenda_finde" id="campo_fecha" value="'.$vector["fecha"].'" disabled="disabled"/></div></td>
						  <td>&nbsp;</td>
						</tr>
					  </table></td>
				  </tr>
				  
				  <tr>
  			  		<td align="right" style="width: 678px; padding-top: 0px; padding-bottom: 0px; padding-right: 75px; font-size: 14px; font-weight: bold; text-decoration: underline;"> Unidades </td>
  			  	  </tr>
  			  	  
				  <tr>
					<td><table id="tabla_lineas_formulario" name="tabla_lineas_formulario" width="705px" border="0" cellspacing="0" cellpadding="0">';
					
					  /*Si el formulario es de inserción, se muestra una única línea*/
					  if($_action=="insertar"){
					  
						/*Aquí empieza cada línea de inserción y su respectiva columna del autocompletar de productos*/
						echo '<tr id="linea_insercion_'.$numeroLineasInsercion.'" name="linea_insercion_'.$numeroLineasInsercion.'">
									<td width="755" class="titulo_inicio"> Producto: <input size="60" type="text" id="producto_'.$numeroLineasInsercion.'" name="producto_'.$numeroLineasInsercion.'" class="cabecera_agenda_finde" onchange="addField('.$numeroLineasInsercion.');"> </td>';
						
						/*Aquí empieza la columna de unidades de cada línea de inserción*/
							echo '<td width="169">
						  
						  			<input style="text-align:center" name="unidades_'.$numeroLineasInsercion.'" type="text" class="titulo_inicio" id="unidades_'.$numeroLineasInsercion.'" size="10" maxlength="5" title="Unidades"/>
						  		  <td> <img id="deleteImg_1" name="deleteImg_1" src="./albaranEntrega/icon/icon-trash.png" width="20px" height="20px" onclick="delRow('.$numeroLineasInsercion.');">
        					      </td>
						    </tr>';						    
					  }
					  /*Si el formulario es de modificación, se cargan las líneas de dicho albarán*/
					  else{
						  for($j=0;$j<count($productos_modificacion);$j++){
							  /*Aquí empieza cada línea de modificación*/
							  echo '<tr id="linea_modificacion['.$j.']" name="linea_modificacion['.$j.']">
							  			<td width="755" class="titulo_inicio">';					
										/*Se carga el cuadro de texto de autocompletar con el producto propio de dicha linea de albarán*/
										for($i=0; $i<count($productos_BD);$i++){
											if($productos_BD[$i]["id_producto"]==$productos_modificacion[$j]["id_producto"]){
												echo 'Producto: <input size="60" type="text" id="producto['.$j.']" name="producto['.$j.']" class="cabecera_agenda_finde" value="'.$productos_BD[$i]["nombre"].'">';
											}
										}
							/*Aquí empieza la columna de unidades de cada linea de modificación*/
							echo '</td><td width="169">
							  <label for="textfield"></label>
							  <input style="text-align:center" name="unidades['.$j.']" type="text" class="titulo_inicio" id="unidades['.$j.']" size="10" maxlength="5" title="Unidades" value="'.$productos_modificacion[$j]["cantidad"].'"/>
							  <label for="textfield" value=""></label>
							</td></tr>';
						  }
					  }
					  echo '</table></td>
				  </tr>
				  <tr>
					<td>
					<center>';
					for($i=0;$i<count($productos_modificacion);$i++){
						echo '<input type="hidden" name="productos_modificacion['.$i.']" id="productos_modificacion['.$i.']" value="'.$productos_modificacion[$i].'">';
					}
					echo '					
					<input type="button" value="&nbsp;Guardar" id="guardar" style="width:100px;" class="aceptar" onclick="guardar(\''.$_action.'\');" >  <input type="button" value="&nbsp;Imprimir" id="imprimir" style="width:100px;" class="aceptar" onclick="guardar(\''.$_action.'\');" ></center>
					</td>
					<td></td>
				  </tr>
				</table>
				</form>
				</fieldset>
				</div>
				';
				
		break;
	};
	
	
/*#######################################################################################################################################################*/
/*################################################### OPERACIONES DE EDICION DE REGISTROS ###############################################################*/
/*#######################################################################################################################################################*/

	case 'insertar': {
	
		/*Hacemos comprobaciones para verificar que no haya ningún campo negativo o vacío que pueda dar error*/
		if($_REQUEST["expedicion"]<=0 || $_REQUEST["expedicion"]==""){echo "expedicion"; die();}
		
		$expedicion_usada=consultaMultiple("albaran_entrega, albaran_recogida", "n_expedicion=".$vector["n_expedicion"]);
		if(count($expedicion_usada)>0){echo "expedicion_usada"; die();}

		if($_REQUEST["fecha"]==""){echo "fecha"; die();}
		
		if($_REQUEST["distribuidor"]==0){echo "distribuidor"; die();}
		
		/*$producto es una matriz que almacena los datos de todos los productos de la base de datos*/
		$producto = consultaMultiple('productos','fecha_baja IS NULL');
		pasar_utf8_array($producto);
		
		/*$productos_insercion es un array que contiene los nombres de los productos a insertar*/
		$productos_insercion=array();
		$productos_insercion["producto"]=array();
		$productos_insercion["unidades"]=array();
		$i=0;
		while($_REQUEST["producto_".$i]){
			$productos_insercion["producto"][$i]=$_REQUEST["producto_".$i];
			$productos_insercion["unidades"][$i]=$_REQUEST["unidades_".$i];
		}
		
		/*Metemos en $productos_insercion los id de los productos a insertar*/
		$encontrado=0;
		
		for($i=0;$i<count($productos_insercion["producto"]);$i++){
			for($j=0;$j<count($producto);$j++){
				if($productos_insercion["producto"][$i]==""){
					continue;
				}
				if($producto[$j]["nombre"]==$productos_insercion["producto"][$i]){
					$productos_insercion["producto"][$i]=$producto[$j]["id_producto"];
					$encontrado=1;
				}				
			}
			if($encontrado==0){
				$productos_insercion["producto"][$i]=0;
			}
			$encontrado=0;
		}

		$id_expedicion = maxid("albaran_recogida, albaran_entrega","id_expedicion");
						
		$vector = array();
		$vector2=array();
		
		/*Llenamos un array con los datos del albarán y lo insertamos*/		
		$vector["id_expedicion"] = $id_expedicion;
		$vector["n_expedicion"] = $_REQUEST["expedicion"];
		$vector["fecha"] = $_REQUEST["fecha"];
		$vector["id_distribuidor"] = $_REQUEST["distribuidor"];		
		insertaBD("albaran_recogida",$vector);
		
		/*Llenamos una matriz con los productos de dicho albarán(cada registro o producto contiene a su vez sus propios campos) y la 	 		insertamos*/
		for($s=0;$s<count($productos_insercion["producto"]);$s++){
			/*Si un id de producto es igual a 0 o las unidades están vacías, como es el caso de la última línea predeterminada del  	 			formulario, el bucle continúa insertando y se salta dicha línea de albarán*/
			if($productos_insercion["producto"][$s]<=0 || $unidades_insercion[$s]==""){
				continue;
			}
			$vector2[$s]=array();
			$vector2[$s]["id_expedicion"]=$id_expedicion;
			$vector2[$s]["id_producto"]=$productos_insercion["producto"][$s];
			$vector2[$s]["cantidad"]=$productos_insercion["unidades"][$s];
			insertaBD("lineas_albaran_recogida",$vector2[$s]);
		}
		
		echo "OK";
		die();
	};
	
	case 'modificar':{
		if(vacio($_REQUEST["nombre_usuario"])){ echo "nombre_usuario"; die(); }

		// Comprobamos si existe ya el nombre de usuario		
		$vector = consultaMultiple("seguridad_usuarios","nombre_usuario='".$_REQUEST["nombre_usuario"]."' AND id_usuario<>'".$_REQUEST["id_usuario"]."'");
		if (count($vector) > 0){ echo "nombre_usado"; die();}

		if(vacio($_REQUEST["password"])){ echo "password";	die();	}
		if($_REQUEST["password"] != $_REQUEST["password2"]){ echo "password2"; die();}
		if(!vacio($_REQUEST["password"]) && ($_REQUEST["nombre_usuario"]==$_REQUEST["password"])){ echo "mal_password"; die();}

		if(vacio($_REQUEST["email"])){	echo "email"; die();}
		if(!comprobarMail($_REQUEST["email"])){ echo "email";	die();}

		if($_REQUEST["id_tipo"]==-1){ echo "tipo"; die();}
		
		if($_REQUEST['id_proveedor'] == -1 && $_REQUEST["id_tipo"] != 1){ echo "proveedor"; die();}


		$vector_anterior = array();
		$vector_anterior = consultaSimple("seguridad_usuarios","id_usuario=".$_REQUEST["id_usuario"]);
					
		$vector = array();
		$vector["nombre_usuario"]=$_REQUEST["nombre_usuario"];
		
		if($_REQUEST["password"]!=""){ $vector["pass_usuario"] = crypt(md5($_REQUEST["password"]),md5($_REQUEST["password"])); }
		
		$vector["id_tipo"]=$_REQUEST["id_tipo"];	
		$vector["nombre_usuario"]=$_REQUEST["nombre_usuario"];
		$vector["nombre"] = $_REQUEST["nombre"]; 
		$vector["email"]=$_REQUEST["email"];
		$vector["activo"] = $_REQUEST["activo"] == TRUE? 1:0;
		if($_REQUEST["id_tipo"]!="1") $vector['id_empresa'] = $_REQUEST['id_proveedor'];		
		modificaBD("seguridad_usuarios",$vector,"id_usuario = ".$_REQUEST["id_usuario"]);
			
		echo "OK";
		die();
	};
	
	case 'borrar':{
		/*Se procede al borrado virtual del albarán especificado y de sus líneas de albarán*/
		$vector = array();
		$vector["fecha_baja"] = date("Y-m-d H:i:s");	
		modificaBD("lineas_albaran_recogida",$vector,"id_expedicion=".$_REQUEST["id_expedicion"]);			
		modificaBD("albaran_recogida",$vector,"id_expedicion=".$_REQUEST["id_expedicion"]);
		
		break;
	};
};
?>
